第1章 DNSが作られた背景
ネットワークに接続されているサーバー、パソコン、スマホ、ルーターなどのことをホストという
なんとなくサーバーとかだけかと思ってたけどルーターもか
仕組み考えたらそらそうだって感じか
決められたルールに基づいたアドレスで送信元や通信先を特定することをアドレッシング(addressing)という
通信相手やサービスにそれを示す名前をつけてアドレスと対応づけて通信相手やサービスを特定することをネーミング(naming)という
インターネット全体で共通に使われる名前や番号を一元管理する組織をレジストリという
昔は全部をHOSTSファイルで管理していた(!)
カリフォルニア州スタンフォード研究所のSRI−NICに申請しないとアドレスを割り当ててもらえなかった
割り当ての結果はHOSTSファイルに登録→みんながダウンロードして使う!
名前空間の一部を分割して管理を他者に委任する仕組みを作った
分割管理の仕組み
さらにその中で階層化して管理した
この名前空間がドメイン、その範囲を識別するためにつけられた名前をドメイン名という
ドメインの構成
ドメイン名は文字列をドット(.)でつなげた形で構成される
実はドメイン名の最後にもドットがついているが省略されている
それぞれの文字列をラベルという
ドメイン名の最後のドットは階層構造の頂点となるルートを表す
ルートを起点にして右から順に、、、
TLD(Top Level Domain) .jp .com
2LD(2nd Level Domain) .co
3LD(3rd Level Domain) www
ある名前空間①の範囲が別の名前空間②の範囲に含まれている場合、①は②のサブドメインと呼ばれる
サブドメインの具体例
https://gyazo.com/43ee9599d566664410434a79f8a2375a
いつも独自ドメインからみてサブドメインを考えているけど、こんな感じで起点が変わるとサブドメインの範囲が変わる
https://gyazo.com/a8b72339ab4e184fd286e3878de7bc62
DNSの仕様ではラベルの最大長は63文字まで、英数字とハイフンのみ利用可能
ふと思い出してtokyo2021検索したらほとんど取られてたすごい
DNS=Domain Name System
HOSTSファイルによる管理からDNSによる管理へ(便利になった!)
ドメイン名の導入を前提として開発されたシステム
階層化と委任による分散管理の仕組みを採用している
ドメイン名に対応するIPアドレスを探し出すことを名前解決という
ドメイン名の階層ごとに管理者に問い合わせる
委任が行われていれば委任先の情報をもらい、最終的な管理者にたどり着くまで繰り返す
最終的な管理者まで行き着いたらそこでIPアドレスをもらう
DNSにおける階層化と委任の仕組み
委任によって管理を任された範囲はゾーンと呼ぶ
委任元は親、委任先は子となる
親は子の情報をもつが子のゾーンの中の情報は持ってない
ゾーンの管理者はネームサーバーというサーバーでゾーン内の情報を管理する
https://gyazo.com/75c13bb00b7ff017b09577f700cb2cf5
ドメイン名とDNSによる階層構造を導入した結果、それぞれの階層を管理する管理者(レジストリ)が必要になった
レジストリの責任
委任されたゾーンを管理する
ゾーンを委任した場合、そのゾーンを委任した人(委任先=子)が誰かを管理する